// components/count-down/index.js
Component({
  externalClasses: ["custom-class"],
  /**
   * 组件的属性列表
   */
  properties: {
    time: {
      type: Number,
      value: 60,
    },
  },

  /**
   * 组件的初始数据
   */
  data: {},

  lifetimes: {
    attached() {
      // 开始倒计时
      this.countStart();
    },
  },

  /**
   * 组件的方法列表
   */
  methods: {
    countStart() {
      let timer = null;
      // 停止定时器
      if (this.data.time === 0) {
        // 子传父
        this.triggerEvent("timeEnd");
        return clearTimeout(timer);
      }
      // 更新渲染
      this.setData({
        time: (this.data.time -= 1),
      });
      // 定时器
      timer = setTimeout(this.countStart.bind(this), 1000);
    },
  },
});
